Skip to content

MkTreeView

Show source on GitHub

Node to display tree structures.

Description

Currently supports directories and Node subclasses (including MkNodes).

Example: Different styles

Jinja

{{ "mknodes/manual" | MkTreeView }}

Python

MkTreeView('mknodes/manual')
manual/
โ”œโ”€โ”€ ๐Ÿ“„__init__.py
โ”œโ”€โ”€ ๐Ÿ“__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„__init__.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„dev_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„get_started_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„navs_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„nodes_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„page_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„root.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„routing.cpython-311.pyc
โ”‚   โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.cpython-311.pyc
โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.py
โ”œโ”€โ”€ ๐Ÿ“„dev_section.py
โ”œโ”€โ”€ ๐Ÿ“„get_started_section.py
โ”œโ”€โ”€ ๐Ÿ“„github_index.py
โ”œโ”€โ”€ ๐Ÿ“„navs_section.py
โ”œโ”€โ”€ ๐Ÿ“„nodes_section.py
โ”œโ”€โ”€ ๐Ÿ“„page_section.py
โ”œโ”€โ”€ ๐Ÿ“„root.py
โ”œโ”€โ”€ ๐Ÿ“„routing.py
โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.py
```` 
manual/
โ”œโ”€โ”€ ๐Ÿ“„__init__.py
โ”œโ”€โ”€ ๐Ÿ“__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„__init__.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„dev_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„get_started_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„navs_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„nodes_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„page_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„root.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„routing.cpython-311.pyc
โ”‚   โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.cpython-311.pyc
โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.py
โ”œโ”€โ”€ ๐Ÿ“„dev_section.py
โ”œโ”€โ”€ ๐Ÿ“„get_started_section.py
โ”œโ”€โ”€ ๐Ÿ“„github_index.py
โ”œโ”€โ”€ ๐Ÿ“„navs_section.py
โ”œโ”€โ”€ ๐Ÿ“„nodes_section.py
โ”œโ”€โ”€ ๐Ÿ“„page_section.py
โ”œโ”€โ”€ ๐Ÿ“„root.py
โ”œโ”€โ”€ ๐Ÿ“„routing.py
โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.py
````
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>manual/
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>โ”œโ”€โ”€ ๐Ÿ“„__init__.py
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>โ”œโ”€โ”€ ๐Ÿ“__pycache__/
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„__init__.cpython-311.pyc
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.cpython-311.pyc
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„dev_section.cpython-311.pyc
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„get_started_section.cpython-311.pyc
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„navs_section.cpython-311.pyc
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„nodes_section.cpython-311.pyc
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„page_section.cpython-311.pyc
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„root.cpython-311.pyc
</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„routing.cpython-311.pyc
</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a>โ”‚   โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.cpython-311.pyc
</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.py
</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>โ”œโ”€โ”€ ๐Ÿ“„dev_section.py
</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>โ”œโ”€โ”€ ๐Ÿ“„get_started_section.py
</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>โ”œโ”€โ”€ ๐Ÿ“„github_index.py
</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a>โ”œโ”€โ”€ ๐Ÿ“„navs_section.py
</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>โ”œโ”€โ”€ ๐Ÿ“„nodes_section.py
</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a>โ”œโ”€โ”€ ๐Ÿ“„page_section.py
</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a>โ”œโ”€โ”€ ๐Ÿ“„root.py
</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a>โ”œโ”€โ”€ ๐Ÿ“„routing.py
</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.py
</span></code></pre></div>

Example: Style 'ansi'

Jinja

{{ "mknodes/manual" | MkTreeView(style="ansi") }}

Python

MkTreeView('mknodes/manual', style='ansi')
manual/
|-- ๐Ÿ“„__init__.py
|-- ๐Ÿ“__pycache__/
|   |-- ๐Ÿ“„__init__.cpython-311.pyc
|   |-- ๐Ÿ“„a_quick_tour.cpython-311.pyc
|   |-- ๐Ÿ“„dev_section.cpython-311.pyc
|   |-- ๐Ÿ“„get_started_section.cpython-311.pyc
|   |-- ๐Ÿ“„navs_section.cpython-311.pyc
|   |-- ๐Ÿ“„nodes_section.cpython-311.pyc
|   |-- ๐Ÿ“„page_section.cpython-311.pyc
|   |-- ๐Ÿ“„root.cpython-311.pyc
|   |-- ๐Ÿ“„routing.cpython-311.pyc
|   `-- ๐Ÿ“„templating_section.cpython-311.pyc
|-- ๐Ÿ“„a_quick_tour.py
|-- ๐Ÿ“„dev_section.py
|-- ๐Ÿ“„get_started_section.py
|-- ๐Ÿ“„github_index.py
|-- ๐Ÿ“„navs_section.py
|-- ๐Ÿ“„nodes_section.py
|-- ๐Ÿ“„page_section.py
|-- ๐Ÿ“„root.py
|-- ๐Ÿ“„routing.py
`-- ๐Ÿ“„templating_section.py
```` 
manual/
|-- ๐Ÿ“„__init__.py
|-- ๐Ÿ“__pycache__/
|   |-- ๐Ÿ“„__init__.cpython-311.pyc
|   |-- ๐Ÿ“„a_quick_tour.cpython-311.pyc
|   |-- ๐Ÿ“„dev_section.cpython-311.pyc
|   |-- ๐Ÿ“„get_started_section.cpython-311.pyc
|   |-- ๐Ÿ“„navs_section.cpython-311.pyc
|   |-- ๐Ÿ“„nodes_section.cpython-311.pyc
|   |-- ๐Ÿ“„page_section.cpython-311.pyc
|   |-- ๐Ÿ“„root.cpython-311.pyc
|   |-- ๐Ÿ“„routing.cpython-311.pyc
|   `-- ๐Ÿ“„templating_section.cpython-311.pyc
|-- ๐Ÿ“„a_quick_tour.py
|-- ๐Ÿ“„dev_section.py
|-- ๐Ÿ“„get_started_section.py
|-- ๐Ÿ“„github_index.py
|-- ๐Ÿ“„navs_section.py
|-- ๐Ÿ“„nodes_section.py
|-- ๐Ÿ“„page_section.py
|-- ๐Ÿ“„root.py
|-- ๐Ÿ“„routing.py
`-- ๐Ÿ“„templating_section.py
````
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>manual/
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>|-- ๐Ÿ“„__init__.py
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>|-- ๐Ÿ“__pycache__/
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>|   |-- ๐Ÿ“„__init__.cpython-311.pyc
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>|   |-- ๐Ÿ“„a_quick_tour.cpython-311.pyc
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>|   |-- ๐Ÿ“„dev_section.cpython-311.pyc
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>|   |-- ๐Ÿ“„get_started_section.cpython-311.pyc
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>|   |-- ๐Ÿ“„navs_section.cpython-311.pyc
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>|   |-- ๐Ÿ“„nodes_section.cpython-311.pyc
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>|   |-- ๐Ÿ“„page_section.cpython-311.pyc
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>|   |-- ๐Ÿ“„root.cpython-311.pyc
</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a>|   |-- ๐Ÿ“„routing.cpython-311.pyc
</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a>|   `-- ๐Ÿ“„templating_section.cpython-311.pyc
</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>|-- ๐Ÿ“„a_quick_tour.py
</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>|-- ๐Ÿ“„dev_section.py
</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>|-- ๐Ÿ“„get_started_section.py
</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>|-- ๐Ÿ“„github_index.py
</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a>|-- ๐Ÿ“„navs_section.py
</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>|-- ๐Ÿ“„nodes_section.py
</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a>|-- ๐Ÿ“„page_section.py
</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a>|-- ๐Ÿ“„root.py
</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a>|-- ๐Ÿ“„routing.py
</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>`-- ๐Ÿ“„templating_section.py
</span></code></pre></div>

Example: Style 'ascii'

Jinja

{{ "mknodes/manual" | MkTreeView(style="ascii") }}

Python

MkTreeView('mknodes/manual', style='ascii')
manual/
|-- ๐Ÿ“„__init__.py
|-- ๐Ÿ“__pycache__/
|   |-- ๐Ÿ“„__init__.cpython-311.pyc
|   |-- ๐Ÿ“„a_quick_tour.cpython-311.pyc
|   |-- ๐Ÿ“„dev_section.cpython-311.pyc
|   |-- ๐Ÿ“„get_started_section.cpython-311.pyc
|   |-- ๐Ÿ“„navs_section.cpython-311.pyc
|   |-- ๐Ÿ“„nodes_section.cpython-311.pyc
|   |-- ๐Ÿ“„page_section.cpython-311.pyc
|   |-- ๐Ÿ“„root.cpython-311.pyc
|   |-- ๐Ÿ“„routing.cpython-311.pyc
|   +-- ๐Ÿ“„templating_section.cpython-311.pyc
|-- ๐Ÿ“„a_quick_tour.py
|-- ๐Ÿ“„dev_section.py
|-- ๐Ÿ“„get_started_section.py
|-- ๐Ÿ“„github_index.py
|-- ๐Ÿ“„navs_section.py
|-- ๐Ÿ“„nodes_section.py
|-- ๐Ÿ“„page_section.py
|-- ๐Ÿ“„root.py
|-- ๐Ÿ“„routing.py
+-- ๐Ÿ“„templating_section.py
```` 
manual/
|-- ๐Ÿ“„__init__.py
|-- ๐Ÿ“__pycache__/
|   |-- ๐Ÿ“„__init__.cpython-311.pyc
|   |-- ๐Ÿ“„a_quick_tour.cpython-311.pyc
|   |-- ๐Ÿ“„dev_section.cpython-311.pyc
|   |-- ๐Ÿ“„get_started_section.cpython-311.pyc
|   |-- ๐Ÿ“„navs_section.cpython-311.pyc
|   |-- ๐Ÿ“„nodes_section.cpython-311.pyc
|   |-- ๐Ÿ“„page_section.cpython-311.pyc
|   |-- ๐Ÿ“„root.cpython-311.pyc
|   |-- ๐Ÿ“„routing.cpython-311.pyc
|   +-- ๐Ÿ“„templating_section.cpython-311.pyc
|-- ๐Ÿ“„a_quick_tour.py
|-- ๐Ÿ“„dev_section.py
|-- ๐Ÿ“„get_started_section.py
|-- ๐Ÿ“„github_index.py
|-- ๐Ÿ“„navs_section.py
|-- ๐Ÿ“„nodes_section.py
|-- ๐Ÿ“„page_section.py
|-- ๐Ÿ“„root.py
|-- ๐Ÿ“„routing.py
+-- ๐Ÿ“„templating_section.py
````
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>manual/
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>|-- ๐Ÿ“„__init__.py
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>|-- ๐Ÿ“__pycache__/
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>|   |-- ๐Ÿ“„__init__.cpython-311.pyc
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>|   |-- ๐Ÿ“„a_quick_tour.cpython-311.pyc
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>|   |-- ๐Ÿ“„dev_section.cpython-311.pyc
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>|   |-- ๐Ÿ“„get_started_section.cpython-311.pyc
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>|   |-- ๐Ÿ“„navs_section.cpython-311.pyc
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>|   |-- ๐Ÿ“„nodes_section.cpython-311.pyc
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>|   |-- ๐Ÿ“„page_section.cpython-311.pyc
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>|   |-- ๐Ÿ“„root.cpython-311.pyc
</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a>|   |-- ๐Ÿ“„routing.cpython-311.pyc
</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a>|   +-- ๐Ÿ“„templating_section.cpython-311.pyc
</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>|-- ๐Ÿ“„a_quick_tour.py
</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>|-- ๐Ÿ“„dev_section.py
</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>|-- ๐Ÿ“„get_started_section.py
</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>|-- ๐Ÿ“„github_index.py
</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a>|-- ๐Ÿ“„navs_section.py
</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>|-- ๐Ÿ“„nodes_section.py
</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a>|-- ๐Ÿ“„page_section.py
</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a>|-- ๐Ÿ“„root.py
</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a>|-- ๐Ÿ“„routing.py
</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>+-- ๐Ÿ“„templating_section.py
</span></code></pre></div>

Example: Style 'rounded'

Jinja

{{ "mknodes/manual" | MkTreeView(style="rounded") }}

Python

MkTreeView('mknodes/manual')
manual/
โ”œโ”€โ”€ ๐Ÿ“„__init__.py
โ”œโ”€โ”€ ๐Ÿ“__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„__init__.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„dev_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„get_started_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„navs_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„nodes_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„page_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„root.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„routing.cpython-311.pyc
โ”‚   โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.cpython-311.pyc
โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.py
โ”œโ”€โ”€ ๐Ÿ“„dev_section.py
โ”œโ”€โ”€ ๐Ÿ“„get_started_section.py
โ”œโ”€โ”€ ๐Ÿ“„github_index.py
โ”œโ”€โ”€ ๐Ÿ“„navs_section.py
โ”œโ”€โ”€ ๐Ÿ“„nodes_section.py
โ”œโ”€โ”€ ๐Ÿ“„page_section.py
โ”œโ”€โ”€ ๐Ÿ“„root.py
โ”œโ”€โ”€ ๐Ÿ“„routing.py
โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.py
```` 
manual/
โ”œโ”€โ”€ ๐Ÿ“„__init__.py
โ”œโ”€โ”€ ๐Ÿ“__pycache__/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„__init__.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„dev_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„get_started_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„navs_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„nodes_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„page_section.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„root.cpython-311.pyc
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„routing.cpython-311.pyc
โ”‚   โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.cpython-311.pyc
โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.py
โ”œโ”€โ”€ ๐Ÿ“„dev_section.py
โ”œโ”€โ”€ ๐Ÿ“„get_started_section.py
โ”œโ”€โ”€ ๐Ÿ“„github_index.py
โ”œโ”€โ”€ ๐Ÿ“„navs_section.py
โ”œโ”€โ”€ ๐Ÿ“„nodes_section.py
โ”œโ”€โ”€ ๐Ÿ“„page_section.py
โ”œโ”€โ”€ ๐Ÿ“„root.py
โ”œโ”€โ”€ ๐Ÿ“„routing.py
โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.py
````
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>manual/
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>โ”œโ”€โ”€ ๐Ÿ“„__init__.py
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>โ”œโ”€โ”€ ๐Ÿ“__pycache__/
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„__init__.cpython-311.pyc
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.cpython-311.pyc
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„dev_section.cpython-311.pyc
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„get_started_section.cpython-311.pyc
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„navs_section.cpython-311.pyc
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„nodes_section.cpython-311.pyc
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„page_section.cpython-311.pyc
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„root.cpython-311.pyc
</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a>โ”‚   โ”œโ”€โ”€ ๐Ÿ“„routing.cpython-311.pyc
</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a>โ”‚   โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.cpython-311.pyc
</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>โ”œโ”€โ”€ ๐Ÿ“„a_quick_tour.py
</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>โ”œโ”€โ”€ ๐Ÿ“„dev_section.py
</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>โ”œโ”€โ”€ ๐Ÿ“„get_started_section.py
</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>โ”œโ”€โ”€ ๐Ÿ“„github_index.py
</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a>โ”œโ”€โ”€ ๐Ÿ“„navs_section.py
</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>โ”œโ”€โ”€ ๐Ÿ“„nodes_section.py
</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a>โ”œโ”€โ”€ ๐Ÿ“„page_section.py
</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a>โ”œโ”€โ”€ ๐Ÿ“„root.py
</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a>โ”œโ”€โ”€ ๐Ÿ“„routing.py
</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>โ•ฐโ”€โ”€ ๐Ÿ“„templating_section.py
</span></code></pre></div>

Example: Style 'spaces'

Jinja

{{ "mknodes/manual" | MkTreeView(style="spaces") }}

Python

MkTreeView('mknodes/manual', style='spaces')
manual/
    ๐Ÿ“„__init__.py
    ๐Ÿ“__pycache__/
        ๐Ÿ“„__init__.cpython-311.pyc
        ๐Ÿ“„a_quick_tour.cpython-311.pyc
        ๐Ÿ“„dev_section.cpython-311.pyc
        ๐Ÿ“„get_started_section.cpython-311.pyc
        ๐Ÿ“„navs_section.cpython-311.pyc
        ๐Ÿ“„nodes_section.cpython-311.pyc
        ๐Ÿ“„page_section.cpython-311.pyc
        ๐Ÿ“„root.cpython-311.pyc
        ๐Ÿ“„routing.cpython-311.pyc
        ๐Ÿ“„templating_section.cpython-311.pyc
    ๐Ÿ“„a_quick_tour.py
    ๐Ÿ“„dev_section.py
    ๐Ÿ“„get_started_section.py
    ๐Ÿ“„github_index.py
    ๐Ÿ“„navs_section.py
    ๐Ÿ“„nodes_section.py
    ๐Ÿ“„page_section.py
    ๐Ÿ“„root.py
    ๐Ÿ“„routing.py
    ๐Ÿ“„templating_section.py
```` 
manual/
    ๐Ÿ“„__init__.py
    ๐Ÿ“__pycache__/
        ๐Ÿ“„__init__.cpython-311.pyc
        ๐Ÿ“„a_quick_tour.cpython-311.pyc
        ๐Ÿ“„dev_section.cpython-311.pyc
        ๐Ÿ“„get_started_section.cpython-311.pyc
        ๐Ÿ“„navs_section.cpython-311.pyc
        ๐Ÿ“„nodes_section.cpython-311.pyc
        ๐Ÿ“„page_section.cpython-311.pyc
        ๐Ÿ“„root.cpython-311.pyc
        ๐Ÿ“„routing.cpython-311.pyc
        ๐Ÿ“„templating_section.cpython-311.pyc
    ๐Ÿ“„a_quick_tour.py
    ๐Ÿ“„dev_section.py
    ๐Ÿ“„get_started_section.py
    ๐Ÿ“„github_index.py
    ๐Ÿ“„navs_section.py
    ๐Ÿ“„nodes_section.py
    ๐Ÿ“„page_section.py
    ๐Ÿ“„root.py
    ๐Ÿ“„routing.py
    ๐Ÿ“„templating_section.py
````
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>manual/
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>    ๐Ÿ“„__init__.py
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>    ๐Ÿ“__pycache__/
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>        ๐Ÿ“„__init__.cpython-311.pyc
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>        ๐Ÿ“„a_quick_tour.cpython-311.pyc
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>        ๐Ÿ“„dev_section.cpython-311.pyc
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>        ๐Ÿ“„get_started_section.cpython-311.pyc
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>        ๐Ÿ“„navs_section.cpython-311.pyc
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>        ๐Ÿ“„nodes_section.cpython-311.pyc
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>        ๐Ÿ“„page_section.cpython-311.pyc
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>        ๐Ÿ“„root.cpython-311.pyc
</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a>        ๐Ÿ“„routing.cpython-311.pyc
</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a>        ๐Ÿ“„templating_section.cpython-311.pyc
</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>    ๐Ÿ“„a_quick_tour.py
</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>    ๐Ÿ“„dev_section.py
</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>    ๐Ÿ“„get_started_section.py
</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>    ๐Ÿ“„github_index.py
</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a>    ๐Ÿ“„navs_section.py
</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>    ๐Ÿ“„nodes_section.py
</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a>    ๐Ÿ“„page_section.py
</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a>    ๐Ÿ“„root.py
</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a>    ๐Ÿ“„routing.py
</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>    ๐Ÿ“„templating_section.py
</span></code></pre></div>

Bases: MkCode

__init__

__init__(
    tree: str | os.PathLike | treelib.Node,
    *,
    style: treestyles.TreeStyleStr | tuple[str, str, str, str] = "rounded",
    maximum_depth: int | None = None,
    predicate: Callable | None = None,
    exclude_folders: list[str] | str | None = None,
    **kwargs: Any
)

Parameters:

Name Type Description Default
tree str | PathLike | Node

Tree to display. Can be a path to a folder or a Node.

required
style TreeStyleStr | tuple[str, str, str, str]

Print style. If tuple, parts are used for stems

'rounded'
maximum_depth int | None

Maximum nesting depth to print

None
predicate Callable | None

Predicate to filter results

None
exclude_folders list[str] | str | None

Folders to exclude from listing

None
kwargs Any

Keyword arguments passed to parent

{}
Name Children Inherits
MkCode
mknodes.basenodes.mkcode
Class representing a Code block.
graph TD
  94854583229712["mktreeview.MkTreeView"]
  94854582908560["mkcode.MkCode"]
  94854582919984["mkcontainer.MkContainer"]
  94854582916880["mknode.MkNode"]
  94854582838576["node.Node"]
  140544995341632["builtins.object"]
  94854582908560 --> 94854583229712
  94854582919984 --> 94854582908560
  94854582916880 --> 94854582919984
  94854582838576 --> 94854582916880
  140544995341632 --> 94854582838576
/home/runner/work/mknodes/mknodes/mknodes/templatenodes/mktreeview/metadata.toml
[metadata]
icon = "mdi:file-tree-outline"
name = "MkTreeView"

[examples.regular]
title = "Different styles"
jinja = """
{{ "mknodes/manual" | MkTreeView }}
"""

[examples.ansi]
title = "Style 'ansi'"
jinja = """
{{ "mknodes/manual" | MkTreeView(style="ansi") }}
"""

[examples.ascii]
title = "Style 'ascii'"
jinja = """
{{ "mknodes/manual" | MkTreeView(style="ascii") }}
"""

[examples.rounded]
title = "Style 'rounded'"
jinja = """
{{ "mknodes/manual" | MkTreeView(style="rounded") }}
"""

[examples.spaces]
title = "Style 'spaces'"
jinja = """
{{ "mknodes/manual" | MkTreeView(style="spaces") }}
"""

# [examples.remote]
# title = "Files from a repote path"
# jinja = """
# {{ "github://" | MkTreeView(storage_options={"org": "mkdocstrings", "repo": "mkocstrings"}, maximum_depth=2) }}
# """

[output.markdown]
template = """
{{ node.fence_boundary }} 
{{ node.tree.get_tree_repr(style=node.style, max_depth=node.maximum_depth) }}
{{ node.fence_boundary }}
"""
mknodes.templatenodes.mktreeview.MkTreeView
class MkTreeView(mkcode.MkCode):
    """Node to display tree structures.

    Currently supports directories and Node subclasses (including `MkNodes`).
    """

    ICON = "material/file-tree-outline"
    STATUS = "new"

    def __init__(
        self,
        tree: str | os.PathLike | treelib.Node,
        *,
        style: treestyles.TreeStyleStr | tuple[str, str, str, str] = "rounded",
        maximum_depth: int | None = None,
        predicate: Callable | None = None,
        exclude_folders: list[str] | str | None = None,
        **kwargs: Any,
    ):
        """Constructor.

        Arguments:
            tree: Tree to display. Can be a path to a folder or a Node.
            style: Print style. If tuple, parts are used for stems
            maximum_depth: Maximum nesting depth to print
            predicate: Predicate to filter results
            exclude_folders: Folders to exclude from listing
            kwargs: Keyword arguments passed to parent
        """
        super().__init__(language="", **kwargs)
        self._tree = tree
        self.style = style
        self.predicate = predicate
        self.maximum_depth = maximum_depth
        self.exclude_folders = (
            [exclude_folders] if isinstance(exclude_folders, str) else exclude_folders
        )

    @property
    def tree(self) -> treelib.Node:
        match self._tree:
            case str() | os.PathLike():
                return treelib.FileTreeNode.from_folder(
                    upath.UPath(self._tree),
                    predicate=self.predicate,
                    exclude_folders=self.exclude_folders,
                    maximum_depth=self.maximum_depth,
                )
            case mknode.MkNode():
                return self._tree
            case _:
                raise TypeError(self._tree)

    @property
    def text(self):
        return self.tree.get_tree_repr(style=self.style, max_depth=self.maximum_depth)